//------------------------------------------------------------------------------
// <autogenerated>
//     This code was generated by a tool.
//     Runtime Version: 1.0.2914.16
//
//     Changes to this file may cause incorrect behavior and will be lost if 
//     the code is regenerated.
// </autogenerated>
//------------------------------------------------------------------------------

namespace OrderCost.localhost {
    using System.Diagnostics;
    using System.Xml.Serialization;
    using System;
    using System.Web.Services.Protocols;
    using System.Web.Services;
    
    
    [System.Web.Services.WebServiceBindingAttribute(Name="ProductServiceSoap", Namespace="http://contentmaster.com/NorthwindServices")]
    public class ProductService : System.Web.Services.Protocols.SoapHttpClientProtocol {
        
        [System.Diagnostics.DebuggerStepThroughAttribute()]
        public ProductService() {
            this.Url = "http://localhost/NorthwindServices/ProductService.asmx";
        }
        
        [System.Diagnostics.DebuggerStepThroughAttribute()]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://contentmaster.com/NorthwindServices/HowMuchWillItCost", RequestNamespace="http://contentmaster.com/NorthwindServices", ResponseNamespace="http://contentmaster.com/NorthwindServices", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public System.Decimal HowMuchWillItCost(string productName, int howMany) {
            object[] results = this.Invoke("HowMuchWillItCost", new object[] {
                        productName,
                        howMany});
            return ((System.Decimal)(results[0]));
        }
        
        [System.Diagnostics.DebuggerStepThroughAttribute()]
        public System.IAsyncResult BeginHowMuchWillItCost(string productName, int howMany, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("HowMuchWillItCost", new object[] {
                        productName,
                        howMany}, callback, asyncState);
        }
        
        [System.Diagnostics.DebuggerStepThroughAttribute()]
        public System.Decimal EndHowMuchWillItCost(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((System.Decimal)(results[0]));
        }
        
        [System.Diagnostics.DebuggerStepThroughAttribute()]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://contentmaster.com/NorthwindServices/GetProductInfo", RequestNamespace="http://contentmaster.com/NorthwindServices", ResponseNamespace="http://contentmaster.com/NorthwindServices", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public Product GetProductInfo(string productName) {
            object[] results = this.Invoke("GetProductInfo", new object[] {
                        productName});
            return ((Product)(results[0]));
        }
        
        [System.Diagnostics.DebuggerStepThroughAttribute()]
        public System.IAsyncResult BeginGetProductInfo(string productName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetProductInfo", new object[] {
                        productName}, callback, asyncState);
        }
        
        [System.Diagnostics.DebuggerStepThroughAttribute()]
        public Product EndGetProductInfo(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((Product)(results[0]));
        }
    }
    
    public class Product {
        
        public int ProductID;
        
        public string ProductName;
        
        public int SupplierID;
        
        public int CategoryID;
        
        public string QuantityPerUnit;
        
        public System.Decimal UnitPrice;
        
        public short UnitsInStock;
        
        public short UnitsOnOrder;
        
        public short ReorderLevel;
        
        public bool Discontinued;
    }
}
